# os 模块是专门做路径拼接的。和nodejs中的path模块的功能接近
import os.path

from tornado import web, ioloop

class indexHandler(web.RequestHandler):
    def get(self):
        self.write('am coming!')


# 用于创建 web.application 的第二种写法
class webApplication(web.Application):
    def __init__(self, urlPatterns, *args, **kwargs):
        kwargs['handlers'] = urlPatterns
        super().__init__( *args, **kwargs)
#   为tornado服务器的启动 开启debug模式
settings = {
    'debug':True,
    # 这里是配置 静态资源的访问路径，这句话的意思是 此服务的静态资源的目录是当前文件所在目录下的static目录。
    'static_path':os.path.join(os.path.dirname(__file__),'static'),
    # 配置浏览器 url 访问静态资源时的前缀。 比如此时 咱们的static目录下有静态图片文件 1.png，那么访问的url就应该是 /static/1.png
    'static_url_prefix':'/static/',
    # 提供静态资源访问的视图类，在视图类中自定义静态资源访问的功能（比如自定义静态资源的访问路径，资源部署在云服务器上的时候）
    # 这里使用的视图类 是默认的静态资源访问功能的视图类
    'static_handler_class':web.StaticFileHandler
}
if __name__ == '__main__':
    app = webApplication([(r"/", indexHandler)
                          # 这个是第二种，配置静态资源访问目录的方式， 直接配置在 urlpatterns中。
                          # (r"/static/(.*)",web.StaticFileHandler,{'path':os.path.join(os.path.dirname(__file__),'static')})
                          ],
                         **settings)
    app.listen(9000)
    ioloop.IOLoop.current().start()
